Application programs often use message files containing text that may be displayed to a user at appropriate times during execution of the application program. In connection with application programs that will be used by persons who speak different languages, it is often desirable to translate message text into the languages of the different users.
The cost associated with translating message text, known as localization costs, can be high. In general, translations will only be provided for markets determined to have a good return on investments. As a result, smaller markets are often left using application programs that use messages expressed in a non-native language (typically English). However, if application programs that used local languages were readily available, such application programs would have the potential to become more successful in non-English speaking countries.
In order to shift and/or minimize the expense of creating local versions of application programs, developers can allow partners, distributors or even customers to translate software messages into local languages. However, the unrestricted modification of message files can introduce many problems. For example, in connection with application programs used in connection with the control of embedded devices or other hardware, or in connection with text messages displayed as part of graphical user interfaces, messages often most be limited to some maximum length. In addition, many messages contain dynamic or control variables. If such variables are changed, deleted, added, or reordered, problems with the operation of the application program will arise. Specifically, the application program may work improperly or not at all.
Localization tools are available that can be used to facilitate the proper translation of software messages. For example, translation programs that prevent translated text from exceeding a specified maximum length are available. However, most application programs require a specific format, such as a plain text file, in order to use the translated message. Accordingly, translated messages formatted in connection with conventional message translation programs must be exported and saved according to the application software requirements. After the translated messages have been saved in the required format, there is a potential for direct edits of the resulting file. Direct editing of the message file bypasses the editing tools, therefore allowing errors such as exceeding the specified maximum message length to occur. Furthermore, conventional message translation tools do not provide the capability to protect dynamic and control variables from being added, changed, deleted or reordered.